﻿/*********************************************************
 * 开发人员：小兵
 * 创建时间：2012-10-9 10:19:34
 * 描述说明：
 * 
 * 更改历史：
 * 
 * *******************************************************/
using MSC = MySql.Data.MySqlClient;

namespace Mozlite.Data.MySql
{
    using System;
    using System.Web;
    using System.Data;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// MYSQL数据库参数。
    /// </summary>
    public class MySqlParameter : SqlParameterAdapter<MSC.MySqlParameter>
    {
        /// <summary>
        /// 初始化类<see cref="MySqlParameter"/>。
        /// </summary>
        /// <param name="parameterName">参数名称。</param>
        /// <param name="value">参数值。</param>
        public MySqlParameter(string parameterName, object value)
            : base(new MSC.MySqlParameter(CorrectParameterName(parameterName), value))
        { }

        private static string CorrectParameterName(string parameterName)
        {
            if(String.IsNullOrEmpty(parameterName))
                throw new ArgumentNullException("parameterName");

            if(parameterName[0] != '@')
                return parameterName;

            StringBuilder sb = new StringBuilder(parameterName);
            sb[0] = '?';
            return sb.ToString();
        }
    }
}
